[IA64] fixed a vcpu_translate bug
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Fri, 17 Mar 2006 21:06:20 +0000 (14:06 -0700)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Fri, 17 Mar 2006 21:06:20 +0000 (14:06 -0700)
commit7d408ed38f7e565aba983795aa6331eab3153a39
treef99b87f228c7959594875fe3903869d0206408f2
parent2ed2802aa7c93d27b77ebd95544c2e901e571e85
[IA64] fixed a vcpu_translate bug

There are some below code segments in guest OS
1.     Rsm psr.dt
       ...
2.     itc.d r18
       ...
3.     rfi

After executing instruction 1, domain is in metaphysical mode.
When executing instruction 2, VMM gets control to emulate this
instruction. Firstly VMM will try to get opcode, which may
trigger a tlb miss. At this time domain is in metaphysical mode
and the fault address is in region 5. vcpu_translate handles this
as normal guest metaphysical mode.

It's not correct; sometimes this will make dom0 hang.

cpu_translate should handle this situation as if
guest is not in metaphysical mode.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
xen/arch/ia64/xen/vcpu.c